![]() |
![]() |
![]() | |
![]() ![]() ![]() ![]()
╤σ≥σΓ√σ ∩≡ΦδεµσφΦ |
╨αßε≥α ± ∩ε≥εΩεΓ√∞Φ ±εΩσ≥α∞Φ╩αΩ ∞√ ≤µσ πεΓε≡ΦδΦ, Φφ≥σ≡⌠σΘ± ±εΩσ≥εΓ ∩ετΓεδ σ≥ ∩σ≡σΣαΓα≥ⁿ Σαφφ√σ ∞σµΣ≤ ΣΓ≤∞ ∩≡ΦδεµσφΦ ∞Φ, ≡αßε≥α■∙Φ∞Φ φα εΣφε∞ ΦδΦ ≡ατφ√⌡ ≤τδα⌡ ±σ≥Φ. ┬ ∩≡ε÷σ±±σ ±ετΣαφΦ Ωαφαδα ∩σ≡σΣα≈Φ Σαφφ√⌡ εΣφε Φτ ²≥Φ⌡ ∩≡ΦδεµσφΦΘ Γ√∩εδφ σ≥ ≡εδⁿ ±σ≡Γσ≡α, α Σ≡≤πεσ - ≡εδⁿ ΩδΦσφ≥α. ╧ε±δσ ≥επε ΩαΩ Ωαφαδ ß≤Σσ≥ ±ετΣαφ, ∩≡ΦδεµσφΦ ±≥αφεΓ ≥± ≡αΓφε∩≡αΓφ√∞Φ - εφΦ ∞επ≤≥ ∩σ≡σΣαΓα≥ⁿ Σ≡≤π Σ≡≤π≤ Σαφφ√σ ±Φ∞∞σ≥≡Φ≈φ√∞ εß≡ατε∞. ╨α±±∞ε≥≡Φ∞ ²≥ε≥ ∩≡ε÷σ±± Γ Σσ≥αδ ⌡. ╚φΦ÷ΦαδΦτα÷Φ ±σ≡Γσ≡α┬φα≈αδσ ∞√ ≡α±±∞ε≥≡Φ∞ ΣσΘ±≥ΓΦ ∩≡ΦδεµσφΦ , Ωε≥ε≡εσ φα ∞ε∞σφ≥ ΦφΦ÷ΦαδΦτα÷ΦΦ Γδ σ≥± ±σ≡Γσ≡ε∞. ╧σ≡Γεσ, ≈≥ε Σεδµφε ±Σσδα≥ⁿ ±σ≡Γσ≡φεσ ∩≡ΦδεµσφΦσ, ²≥ε ±ετΣα≥ⁿ εß·σΩ≥ Ωδα±±α ServerSocket, ≤ΩαταΓ Ωεφ±≥≡≤Ω≥ε≡≤ ²≥επε Ωδα±±α φε∞σ≡ Φ±∩εδⁿτ≤σ∞επε ∩ε≡≥α: ServerSocket ss; ss = new ServerSocket(9999); ╟α∞σ≥Φ∞, ≈≥ε εß·σΩ≥ Ωδα±±α ServerSocket ΓεΓ±σ φσ Γδ σ≥± ±εΩσ≥ε∞. ╬φ ∩≡σΣφατφα≈σφ Γ±σπε δΦ°ⁿ Σδ ≤±≥αφεΓΩΦ Ωαφαδα ±Γ τΦ ± ΩδΦσφ≥±ΩΦ∞ ∩≡ΦδεµσφΦσ∞, ∩ε±δσ ≈σπε ±ετΣασ≥± ±εΩσ≥ Ωδα±±α Socket, ∩≡ΦπεΣφ√Θ Σδ ∩σ≡σΣα≈Φ Σαφφ√⌡. ╙±≥αφεΓΩα Ωαφαδα ±Γ τΦ ± ΩδΦσφ≥±ΩΦ∞ ∩≡ΦδεµσφΦσ∞ Γ√∩εδφ σ≥± ∩≡Φ ∩ε∞ε∙Φ ∞σ≥εΣα accept, ε∩≡σΣσδσφφεπε Γ Ωδα±±σ ServerSocket: Socket s; s = ss.accept(); ╠σ≥εΣ accept ∩≡Φε±≥αφαΓδΦΓασ≥ ≡αßε≥≤ Γ√τΓαΓ°σπε ∩ε≥εΩα Σε ≥σ⌡ ∩ε≡, ∩εΩα ΩδΦσφ≥±Ωεσ ∩≡ΦδεµσφΦσ φσ ≤±≥αφεΓΦ≥ Ωαφαδ ±Γ τΦ ± ±σ≡Γσ≡ε∞. ┼±δΦ Γα°σ ∩≡ΦδεµσφΦσ εΣφε∩ε≥ε≈φεσ, σπε ≡αßε≥α ß≤Σσ≥ ßδεΩΦ≡εΓαφα Σε ∞ε∞σφ≥α ≤±≥αφεΓΩΦ Ωαφαδα ±Γ τΦ. ╚τßσµα≥ⁿ ∩εδφεΘ ßδεΩΦ≡εΓΩΦ ∩≡ΦδεµσφΦ ∞εµφε, σ±δΦ Γ√∩εδφ ≥ⁿ ±ετΣαφΦσ Ωαφαδα ∩σ≡σΣα≈Φ Σαφφ√⌡ Γ ε≥Σσδⁿφε∞ ∩ε≥εΩσ. ╩αΩ ≥εδⁿΩε Ωαφαδ ß≤Σσ≥ ±ετΣαφ, Γ√ ∞εµσ≥σ Φ±∩εδⁿτεΓα≥ⁿ ±εΩσ≥ ±σ≡Γσ≡α Σδ εß≡ατεΓαφΦ Γ⌡εΣφεπε Φ Γ√⌡εΣφεπε ∩ε≥εΩα Ωδα±±α InputStream Φ OutputStream, ±εε≥Γσ≥±≥Γσφφε: InputStream is; OutputStream os; is = s.getInputStream(); os = s.getOutputStream(); ▌≥Φ ∩ε≥εΩΦ ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ ≥αΩΦ∞ µσ εß≡ατε∞, ≈≥ε Φ ∩ε≥εΩΦ, ±Γ ταφφ√σ ± ⌠αΘδα∞Φ. ╬ß≡α≥Φ≥σ ≥αΩµσ ΓφΦ∞αφΦσ φα ≥ε, ≈≥ε ∩≡Φ ±ετΣαφΦΦ ±σ≡Γσ≡φεπε ±εΩσ≥α ∞√ φσ ≤ΩαταδΦ αΣ≡σ± IP Φ ≥Φ∩ ±εΩσ≥α, επ≡αφΦ≈ΦΓ°Φ±ⁿ ≥εδⁿΩε φε∞σ≡ε∞ ∩ε≡≥α. ╫≥ε Ωα±ασ≥± αΣ≡σ±α IP, ≥ε εφ, ε≈σΓΦΣφε, ≡αΓσφ αΣ≡σ±≤ IP ≤τδα, φα Ωε≥ε≡ε∞ τα∩≤∙σφε ∩≡ΦδεµσφΦσ ±σ≡Γσ≡α. ┬ Ωδα±±σ ServerSocket ε∩≡σΣσδσφ ∞σ≥εΣ getInetAddress, ∩ετΓεδ ■∙ΦΘ ε∩≡σΣσδΦ≥ⁿ ²≥ε≥ αΣ≡σ±: public InetAddress getInetAddress(); ╥Φ∩ ±εΩσ≥α ≤Ωατ√Γα≥ⁿ φσ φ≤µφε, ≥αΩ ΩαΩ Σδ ≡αßε≥√ ± Σα≥απ≡α∞∞φ√∞Φ ±εΩσ≥α∞Φ ∩≡σΣφατφα≈σφ Ωδα±± DatagramSocket, Ωε≥ε≡√Θ ∞√ ≡α±±∞ε≥≡Φ∞ ∩ετµσ. ╚φΦ÷ΦαδΦτα÷Φ ΩδΦσφ≥α╧≡ε÷σ±± ΦφΦ÷ΦαδΦτα÷ΦΦ ΩδΦσφ≥±Ωεπε ∩≡ΦδεµσφΦ Γ√πδ ΣΦ≥ Γσ±ⁿ∞α ∩≡ε±≥ε. ╩δΦσφ≥ Σεδµσφ ∩≡ε±≥ε ±ετΣα≥ⁿ ±εΩσ≥ ΩαΩ εß·σΩ≥ Ωδα±±α Socket, ≤ΩαταΓ αΣ≡σ± IP ±σ≡Γσ≡φεπε ∩≡ΦδεµσφΦ Φ φε∞σ≡ ∩ε≡≥α, Φ±∩εδⁿτ≤σ∞επε ±σ≡Γσ≡ε∞: Socket s; s = new Socket("localhost",9999); ╟Σσ±ⁿ Γ Ωα≈σ±≥Γσ αΣ≡σ±α IP ∞√ ≤ΩαταδΦ ±∩σ÷Φαδⁿφ√Θ αΣ≡σ± localhost, ∩≡σΣφατφα≈σφφ√Θ Σδ ≥σ±≥Φ≡εΓαφΦ ±σ≥σΓ√⌡ ∩≡ΦδεµσφΦΘ, α Γ Ωα≈σ±≥Γσ φε∞σ≡α ∩ε≡≥α - ττφα≈σφΦσ 9999, Φ±∩εδⁿτεΓαφφεσ ±σ≡Γσ≡ε∞. ╥σ∩σ≡ⁿ ∞εµφε ±ετΣαΓα≥ⁿ Γ⌡εΣφεΘ Φ Γ√⌡εΣφεΘ ∩ε≥εΩΦ. ═α ±≥ε≡εφσ ΩδΦσφ≥α ²≥α ε∩σ≡α÷Φ Γ√∩εδφ σ≥± ≥ε≈φε ≥αΩµσ, ΩαΩ Φ φα ±≥ε≡εφσ ±σ≡Γσ≡α: InputStream is; OutputStream os; is = s.getInputStream(); os = s.getOutputStream(); ╧σ≡σΣα≈α Σαφφ√⌡ ∞σµΣ≤ ΩδΦσφ≥ε∞ Φ ±σ≡Γσ≡ε∞╧ε±δσ ≥επε ΩαΩ ±σ≡Γσ≡φεσ Φ ΩδΦσφ≥±Ωεσ ∩≡ΦδεµσφΦ ±ετΣαδΦ ∩ε≥εΩΦ Σδ ∩≡Φσ∞α Φ ∩σ≡σΣα≈Φ Σαφφ√⌡, εßα ²≥Φ⌡ ∩≡ΦδεµσφΦ ∞επ≤≥ ≈Φ≥α≥ⁿ Φ ∩Φ±α≥ⁿ Γ Ωαφαδ Σαφφ√⌡, Γ√τ√Γα ∞σ≥εΣ√ read Φ write, ε∩≡σΣσδσφφ√σ Γ Ωδα±±α⌡ InputStream Φ OutputStream. ═Φµσ ∞√ ∩≡σΣ±≥αΓΦδΦ ⌠≡απ∞σφ≥ ΩεΣα, Γ Ωε≥ε≡ε∞ ∩≡ΦδεµσφΦσ Γφα≈αδσ ≈Φ≥ασ≥ Σαφφ√σ Φτ Γ⌡εΣφεπε ∩ε≥εΩα Γ ß≤⌠σ≡ buf, α τα≥σ∞ τα∩Φ±√Γασ≥ ∩≡ε≈Φ≥αφφ√σ Σαφφ√σ Γ Γ√⌡εΣφεΘ ∩ε≥εΩ: byte buf[] = new byte[512]; int lenght; lenght = is.read(buf); os.write(buf, 0, lenght); os.flush(); ═α ßατσ ∩ε≥εΩεΓ Ωδα±±α InputStream Φ OutputStream Γ√ ∞εµσ≥σ ±ετΣα≥ⁿ ß≤⌠σ≡ΦτεΓαφφ√σ ∩ε≥εΩΦ Φ ∩ε≥εΩΦ Σδ ∩σ≡σΣα≈Φ ⌠ε≡∞α≥Φ≡εΓαφφ√⌡ Σαφφ√⌡, ε Ωε≥ε≡√⌡ ∞√ ≡α±±Ωατ√ΓαδΦ ≡αφⁿ°σ. ╟αΓσ≡°σφΦσ ≡αßε≥√ ±σ≡Γσ≡α Φ ΩδΦσφ≥α╧ε±δσ ταΓσ≡°σφΦ ∩σ≡σΣα≈Φ Σαφφ√⌡ Γ√ Σεδµφ√ ταΩ≡√≥ⁿ ∩ε≥εΩΦ, Γ√τΓαΓ ∞σ≥εΣ close: is.close(); os.close(); ╩επΣα Ωαφαδ ∩σ≡σΣα≈Φ Σαφφ√⌡ ßεδⁿ°σ φσ φ≤µσφ, ±σ≡Γσ≡ Φ ΩδΦσφ≥ Σεδµφ√ ταΩ≡√≥ⁿ ±εΩσ≥, Γ√τΓαΓ ∞σ≥εΣ close, ε∩≡σΣσδσφφ√Θ Γ Ωδα±±σ Socket: s.close(); ╤σ≡Γσ≡φεσ ∩≡ΦδεµσφΦσ, Ω≡ε∞σ ≥επε, Σεδµφε ταΩ≡√≥ⁿ ±εσΣΦφσφΦσ, Γ√τΓαΓ ∞σ≥εΣ close Σδ εß·σΩ≥α Ωδα±±α ServerSocket: ss.close(); |